This invention relates to installing programs on computers, and more particularly to automatically customizing a program based on a user information store.
Conventional computers generally execute one or more software programs, such as operating systems, productivity applications, educational applications, recreational applications, etc. Before such a software program can be executed by the computer, it typically must be installed on the computer, a process which usually involves copying one or more files from a distribution medium (e.g., a CD ROM) onto a storage device (e.g., a hard disk) of the computer, as well as possibly informing the operating system of the newly installed program.
A current trend in computer development and design is towards an increase in user-friendliness. Making software, and thus the computers that run the software, easier to use increases the number of people that will actually use the computers and software. Furthermore, by improving the user-friendliness of a computer or the installed software the overall user experience in using that computer or software can correspondingly be improved.
One way in which user-friendliness is improved, for both software and the computer as a whole, is allowing for user-customization of the software. For example, the user""s name, street address, electronic mail address, display preferences, etc. can be provided to the software. This allows the software to address the user at a personal level (e.g., by name) and operate in a manner that is more to the user""s liking.
Unfortunately, such user-customization typically must be performed manually by the user and typically must be repeated for multiple software programs. For example, the user must add his or her name to each of multiple programs, add his or her street address to each of multiple programs, add his or her email address to each of multiple programs, etc. This manual information entry, especially when repeated numerous times, becomes burdensome on the user and thus reduces the user-friendliness of the computer.
Furthermore, requiring manual entry of such user information reduces the xe2x80x9cout of boxxe2x80x9d experience for the user. The xe2x80x9cout of boxxe2x80x9d experience refers to the user""s experience the first time he or she uses his or her new computer (i.e., when he or she takes the new computer out of its box, plugs it in, and turns it on). One solution to improve the xe2x80x9cout of boxxe2x80x9d experience would be to have the user information immediately available to the user for this first use of the computer, such as by having a manufacturer add the user information for the user. Unfortunately, such manufacturer-entry of the user information is an expensive process and can be cost-prohibitive. Thus, it would be beneficial to improve the xe2x80x9cout of boxxe2x80x9d experience for the user in a different manner.
The automatic program customization based on a user information store described below addresses these and other disadvantages.
Automatic program customization based on a user information store is described herein. Programs, such as an operating system or other application programs, are automatically customized to a specific user(s) based on data corresponding to the specific user(s) that is maintained in a user information store.
According to one aspect, the information store is a unified store that is accessible by multiple application programs as well as the operating system. Thus, new information or information changes can be made available to multiple applications by the user adding (or changing) the information only once.
According to another aspect, the operating system image to be installed on a computer is pre-populated with user-specific information at the factory. The user-specific information can be integrated into the operating system at the factory or alternatively upon an initial boot of the computer by the user. By pre-populating the operating system image to be installed on the computer with the user-specific information, the computer is customized to the user the first time he or she uses the computer.
According to another aspect, the user information store is used to determine what functionality the operating system is to include. By way of example, certain functionality may only be installed on the computer if the user has a particular profession, hobby, or interest identified in the user information store. By way of another example, a special tutorial may be included and automatically run when the computer is turned on if the user is a novice computer user.